//###############
// FILE : TestableGui.java
// WRITER : Lior Zimmerman liorz06 066462300
// WRITER : Ohad Dan ohad_dan 036767960
// EXERCISE : oop ex3 2008
// DESCRIPTION:
// Interrface for tests.
//###############
package oop.ex3.fileSearchController.testableGui;

/**
 * the GUI controller should implement this interface for testing
 */
public interface TestableGUI {
    /**
     * Search controls
     */
    public abstract void setFilterLocation(FilterLocationEnum location);
    public abstract FilterLocationEnum getFilterLocation();
    public abstract void setWorkingDirectory(String dirName);
    public abstract String getWorkingDirectory();
    public abstract void setFilterFile(String fileName);
    public abstract String getFilterFile();
    public abstract void setFilterExpression(String exp);
    public abstract String getFilterExpression();
  //Returns if the run operation was successful
    public abstract void clickRun(); 
    public abstract void clickReset();
    public abstract String getStatusPanelText();
    
    /**
     * Setup controls
     */
    public abstract void setOutputDestination(OutputDestinationEnum outputDest);
    public abstract OutputDestinationEnum getOutputDestination();
    public abstract void setOutputFile(String fileName);
    
    /**
     * Log controls
     */
    public abstract String getLog();
}
